package loja.stock;

import utilities.Data;
import loja.Produto;

public class Stock {

	private int id_stock;
	private Armazem armazem;
	private Produto produto;
	private Data data;
	private double stock_minimo;
	private double stock_maximo;
	private double reposicao;
	private double stock_actual;

	/**
	 * 
	 * @param id_stock
	 * @param a
	 * @param p
	 * @param stock_minimo
	 * @param stock_maximo
	 * @param reposicao
	 * @param stock_actual
	 */
	public Stock(int id_stock, Armazem a, Produto p, double stock_minimo,
			double stock_maximo, double reposicao, double stock_actual) {

		this.id_stock = id_stock;
		this.armazem = a;
		this.produto = p;
		this.stock_minimo = stock_minimo;
		this.stock_maximo = stock_maximo;
		this.reposicao = reposicao;
		this.stock_actual = stock_actual;

	}

	/**
	 * @param id_stock the id_stock to set
	 */
	public void setId_stock(int id_stock) {
		this.id_stock = id_stock;
	}

	/**
	 * @param armazem the armazem to set
	 */
	public void setArmazem(Armazem armazem) {
		this.armazem = armazem;
	}

	/**
	 * @param produto the produto to set
	 */
	public void setProduto(Produto produto) {
		this.produto = produto;
	}

	/**
	 * @param data the data to set
	 */
	public void setData(Data data) {
		this.data = data;
	}

	/**
	 * @param stock_minimo the stock_minimo to set
	 */
	public void setStock_minimo(double stock_minimo) {
		this.stock_minimo = stock_minimo;
	}

	/**
	 * @param stock_maximo the stock_maximo to set
	 */
	public void setStock_maximo(double stock_maximo) {
		this.stock_maximo = stock_maximo;
	}

	/**
	 * @param reposicao the reposicao to set
	 */
	public void setReposicao(double reposicao) {
		this.reposicao = reposicao;
	}

	/**
	 * @param stock_actual the stock_actual to set
	 */
	public void setStock_actual(double stock_actual) {
		this.stock_actual = stock_actual;
	}

	/**
	 * 
	 * @return the id_stock
	 */
	public int getId_stock() {
		return id_stock;
	}

	/**
	 * 
	 * @return the armazem
	 */
	public Armazem getArmazem() {
		return armazem;
	}

	/**
	 * 
	 * @return the produto
	 */
	public Produto getProduto() {
		return produto;
	}

	public Data getData() {
		return data;
	}

	/**
	 * 
	 * @return the stock_minimo
	 */
	public double getStock_minimo() {
		return stock_minimo;
	}

	/**
	 * 
	 * @return the stock_maximo
	 */
	public double getStock_maximo() {
		return stock_maximo;
	}

	/**
	 * 
	 * @return the reposicao
	 */
	public double getReposicao() {
		return reposicao;
	}


	/**
	 * 
	 * @return the stock_actual
	 */
	public double getStockActual() {
		return stock_actual;
	}

	/**
	 * 
	 * @return the sotckExcesso
	 */
	public double getStockExcesso() {
		return stock_actual - stock_maximo;
	}

	/**
	 * 
	 * @return the stockRuptura
	 */
	public double getStockRuptura() {
		return stock_minimo - stock_actual;
	}
	
	/**
	 * 
	 * @return the diferenca
	 */
	public double getDiferenca(){
		return reposicao-stock_actual;
	}

}
